#ifndef _QDP_TYPEDEF_
#define _QDP_TYPEDEF_

#ifndef IEC_ENDIAN
#error please include "iec10x.h" first
#endif

typedef union _QDP { //对于继电保护装置的事件的品质描述 
	struct {
		#if (IEC_ENDIAN  == IEC_LITTLE_ENDIAN)
			uint8_t RES : 3 ; //RES（3bit）：保留
			uint8_t EI  : 1 ; //EI（1bit）＝ 0：动作时间有效;＝1：动作时间无效
			uint8_t BL  : 1 ; //BL（1bit）＝ 0：未被闭锁 ＝1：被闭锁
			uint8_t SB  : 1 ; //SB（1bit）＝ 0：未被取代 ＝1：被取代
			uint8_t NT  : 1 ; //NT （1bit）＝ 0：当前值 ＝1：非当前值
			uint8_t IV  : 1 ; //IV（1bit） ＝0：有效 ＝1：无效
		#else
			uint8_t IV  : 1 ; //IV（1bit） ＝0：有效 ＝1：无效
			uint8_t NT  : 1 ; //NT （1bit）＝ 0：当前值 ＝1：非当前值
			uint8_t SB  : 1 ; //SB（1bit）＝ 0：未被取代 ＝1：被取代
			uint8_t BL  : 1 ; //BL（1bit）＝ 0：未被闭锁 ＝1：被闭锁
			uint8_t EI  : 1 ; //EI（1bit）＝ 0：动作时间有效;＝1：动作时间无效
			uint8_t RES : 3 ; //RES（3bit）：保留
		#endif
	}part;

	uint8_t val;
}QDP_t;


#endif
